<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 9  数组的基本使用语法
        // 10 对象的基本使用语法



        // 1  声明变量
        // var giao = "一只小阿giao";

        // 2  修改变量的值
        // giao = "两只小阿giao";

        // 3  加减乘除取余
        // + - * / %

        // 4  比较大小
        // > < >= <= == !=  === !==

        // 5  逻辑运算判断
        // && || ! 与或非

        // 6  if 语句
        // if(true) {

        // }else{

        // }

        // 7  for 语句
        // for(var i = 1; i < n; i++) {
        //     循环体
        // }

        // 8  while 和 switch 和 三元运算符    这个真不熟

        // 9  遍历数组
        // for(var key of 数组名字){

        // }
        // 10 封装函数
        // function 名字 (参数){
        //     方法
        // }
        // 11 遍历对象
        // for(var key in 对象名字){

        //   }

        //   console.log(a);//这个就好比是 var a;
        //   var a = 1;
        //   console.log(b);// 这个根本就没有b这个变量

        //   var x = 10;
        //   bar(); // 30
        //   function bar() {
        //     var x = 30;
        //   function foo() {
        //       console.log(x) // 30 向上级找
        //   }
        //   foo(); //30
        // }

        // var x = 10;
        // bar();// 10
        // function foo() {
        //     console.log(x); //10
        // }
        // function bar() {
        //     var x = 30;// 这个没啥用 因为调用bar()的时候也调用了foo() foo()的x=10
        //     foo(); //
        // }


        // var a = 1;
        // var c = { name: "oli", age: 2 };
        // function f1(n) {
        //     ++n;
        // }
        // function f2(obj) {
        //     ++obj.age;
        // }
        // f1(a);
        // f2(c);
        // f1(c.age);
        // // 谈一下 复杂数据类型和基本类型的不同之处？
        // // 函数参数是对象会发生什么问题？
        // console.log(a);//1  因为现在a是一个基本数据类型 所以不会受到＋1的影响
        // console.log(c);//age = 3 c是一个对象复杂数据类型 所以age 改成了3


        // 写一个函数 squireArr，其参数是一个数组，作用是把数组中的每一项变为原值的平方
        // var arr = [3, 6, 9];
        // function squireArr(arr) {
        //     for (var i = 0; i < arr.length; i++) {
        //         arr[i] = arr[i] * arr[i];
        //     }
        // }
        // squireArr(arr);
        // console.log(squireArr(arr));

        // 写一个函数 squireArr，其参数是一个数组，返回一个新的数组，
        // 新数组中的每一项是原数组对应值的平方，原数组不变。
        // var arr = [3, 4, 6]
        // function squireArr(arr) {
        //     var arr1 = [];
        //     for (var i = 0;i<arr.length;i++){
        //         arr1.push(arr[i]*arr[i])
        //     }  
        //     return arr1;
        // }
        // console.log(arr) // [3, 4, 6]    
        // console.log(arr1) // [9, 16, 36]


        // 封装一个判断质数的函数,要求返回true或false

        // function zs(num) {
        //     var yinshu = 0;
        //     for (var i = 1; i <= num; i++) {
        //         if (num % i == 0) {
        //             yinshu++;
        //         }
        //     }
        //     if (yinshu == 2) {
        //         alert('ture');
        //     } else {
        //         alert('f');

        //     }
        // }
        // console.log(zs(18));


        // 写一个函数，生成一个随机颜色字符串，合法的颜色为 #000000 ~ #ffffff。
        // function getColor() {
        //     var color = '0123456789abcdef';
        //     var fh = '#';
        //     for (var i = 1; i <= 6; i++) {
        //         var colors = Math.floor((Math.random() * 16));
        //         fh += color[colors];
        //     }
        //     return fh;
        // }
        // console.log(getColor());


        //实现一个方法,于数组中寻找某个值作为分割的界点,使得该值左右两边的数相加相等
        // [1, 2, 3, 4, 3, 2, 1] ===> 返回下标3
        // [1, 100, 50, -51, 1, 1] ===> 返回下标1
        // var arra = [1, 3, 5, 7, 5, 1, 3, 7, 5];
        // function getIndex(arr) {
        //     var left = 0;
        //     for (var i = 0; i < arr.length; i++) {
        //         left += arr[i];
        //         var right = 0;
        //         for (var j = i + 1; j < arr.length; j++) {
        //             right += arr[j];
        //         }
        //         if (left - arr[i] == right) {
        //             return i;
        //         }
        //     }
        // }
        // console.log(getIndex(arra))//3 zhale


        // 实现一个方法,输入一个正整数N, 输出一个字符串,形式如’1+2-3*4/5+6-7*8/9…N’,
        //  例如 N=14 时输出字符串:’1+2-3*4/5+6-7*8/9+10-11*12/13+14’
        // function sum(n) {
        //     sumHe = '';
        //     for (var i = 1; i <= n; i++) {
        //         if (i % 4 == 1) {
        //             sumHe = sumHe + i + "+"
        //         }
        //         if (i % 4 == 2) {
        //             sumHe = sumHe + i + "-"
        //         }
        //         if (i % 4 == 3) {
        //             sumHe = sumHe + i + "*"
        //         }
        //         if (i % 4 == 0) {
        //             sumHe = sumHe + i + "/"
        //         }
        //     }
        //     sumHe = sumHe.slice(0,sumHe.length - 1);
        //     return sumHe;
        // }
        // console.log(sum(15));
    </script>
</body>

</html>